<!DOCTYPE html>
<html lang="">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta itemprop="name" content="Nginx安装">
<meta itemprop="description" content="nginx安装  在./docker-compose中，增加service，实例如下
 version: &#34;3.7&#34;services:# nginx web服务器 nginx:image: nginx:1.21container_name: &#34;nginx&#34;# 运行依赖，保证其它程序先启动 # 如果还有其它程序，则依次添加在这里 depends_on:- php# 指定时区 environment:- TZ=Asia/Shanghai# 数据卷挂载 volumes:# 配置挂载到容器，在第一次启动容器后，复制出来，然后重建容器 # - ./nginx/nginx.conf:/etc/nginx/nginx.conf # - ./nginx/conf.d:/etc/nginx/conf.d # 证书目录 # ./nginx/ssl:/ssl # 数据卷挂载到容器 - ./front:/front- ./back:/back# 日志 logging:driver: json-fileoptions:max-size: &#34;10M&#34;max-file: &#34;10&#34;# 容器发生意外时，能自动重启 restart: alwaysnginx 配置参考 1、nginx.">
<meta itemprop="datePublished" content="2023-05-21T11:01:45&#43;08:00" />
<meta itemprop="dateModified" content="2023-05-21T11:01:45&#43;08:00" />
<meta itemprop="wordCount" content="419">



<meta itemprop="keywords" content="" /><meta property="og:title" content="Nginx安装" />
<meta property="og:description" content="nginx安装  在./docker-compose中，增加service，实例如下
 version: &#34;3.7&#34;services:# nginx web服务器 nginx:image: nginx:1.21container_name: &#34;nginx&#34;# 运行依赖，保证其它程序先启动 # 如果还有其它程序，则依次添加在这里 depends_on:- php# 指定时区 environment:- TZ=Asia/Shanghai# 数据卷挂载 volumes:# 配置挂载到容器，在第一次启动容器后，复制出来，然后重建容器 # - ./nginx/nginx.conf:/etc/nginx/nginx.conf # - ./nginx/conf.d:/etc/nginx/conf.d # 证书目录 # ./nginx/ssl:/ssl # 数据卷挂载到容器 - ./front:/front- ./back:/back# 日志 logging:driver: json-fileoptions:max-size: &#34;10M&#34;max-file: &#34;10&#34;# 容器发生意外时，能自动重启 restart: alwaysnginx 配置参考 1、nginx." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://www.lican.site/postsbak/nginx%E5%AE%89%E8%A3%85/" />
<meta property="article:published_time" content="2023-05-21T11:01:45+08:00" />
<meta property="article:modified_time" content="2023-05-21T11:01:45+08:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Nginx安装"/>
<meta name="twitter:description" content="nginx安装  在./docker-compose中，增加service，实例如下
 version: &#34;3.7&#34;services:# nginx web服务器 nginx:image: nginx:1.21container_name: &#34;nginx&#34;# 运行依赖，保证其它程序先启动 # 如果还有其它程序，则依次添加在这里 depends_on:- php# 指定时区 environment:- TZ=Asia/Shanghai# 数据卷挂载 volumes:# 配置挂载到容器，在第一次启动容器后，复制出来，然后重建容器 # - ./nginx/nginx.conf:/etc/nginx/nginx.conf # - ./nginx/conf.d:/etc/nginx/conf.d # 证书目录 # ./nginx/ssl:/ssl # 数据卷挂载到容器 - ./front:/front- ./back:/back# 日志 logging:driver: json-fileoptions:max-size: &#34;10M&#34;max-file: &#34;10&#34;# 容器发生意外时，能自动重启 restart: alwaysnginx 配置参考 1、nginx."/>

	<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
	<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
	<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
	<link rel="manifest" href="/site.webmanifest">
	<link rel="mask-icon" href="/safari-pinned-tab.svg" color="">
	<link rel="shortcut icon" href="/favicon.ico">

	<title>Nginx安装</title>
	<link rel="stylesheet" href="https://www.lican.site/css/style.min.d3141168199607bf3a517216ce3c263814eecdbc8fca72a9a88700799a838219.css">
	
</head>

<body id="page">
	
	<header id="site-header" class="animated slideInUp faster">
		<div class="hdr-wrapper section-inner">
			<div class="hdr-left">
				<div class="site-branding">
					<a href="https://www.lican.site">花落雨忧</a>
				</div>
				<nav class="site-nav hide-in-mobile">
					<a href="https://www.lican.site/posts">首页</a>
					<a href="https://www.lican.site/tech/">技术文档</a>
					<a href="https://www.lican.site/article/">文章</a>
					<a href="https://www.lican.site/project/">项目</a>
					<a href="https://www.lican.site/about/">关于</a>
				</nav>
			</div>
			<div class="hdr-right hdr-icons">
				<button id="menu-btn" class="hdr-btn" title="Menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button>
			</div>
		</div>
	</header>
	<div id="mobile-menu" class="animated fast">
		<ul>
			<li><a href="https://www.lican.site/posts">首页</a></li>
			<li><a href="https://www.lican.site/tech/">技术文档</a></li>
			<li><a href="https://www.lican.site/article/">文章</a></li>
			<li><a href="https://www.lican.site/project/">项目</a></li>
			<li><a href="https://www.lican.site/about/">关于</a></li>
		</ul>
	</div>


	<main class="site-main section-inner thin animated fadeIn faster">
		<h1>Nginx安装</h1>
		<div class="content">
			<h3 id="nginx安装">nginx安装<a href="#nginx安装" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h3>
<blockquote>
<p>在./docker-compose中，增加service，实例如下</p>
</blockquote>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#66d9ef">version</span>: <span style="color:#e6db74">&#34;3.7&#34;</span>
services:
  <span style="color:#75715e"># nginx web服务器</span>
  nginx:
    <span style="color:#66d9ef">image</span>: nginx:<span style="color:#ae81ff">1.21</span>
    <span style="color:#66d9ef">container_name</span>: <span style="color:#e6db74">&#34;nginx&#34;</span>
    <span style="color:#75715e"># 运行依赖，保证其它程序先启动</span>
    <span style="color:#75715e"># 如果还有其它程序，则依次添加在这里</span>
    depends_on:
      - php
    <span style="color:#75715e"># 指定时区</span>
    environment:
      - TZ=Asia/Shanghai
    <span style="color:#75715e"># 数据卷挂载</span>
    volumes:
      <span style="color:#75715e"># 配置挂载到容器，在第一次启动容器后，复制出来，然后重建容器</span>
      <span style="color:#75715e"># - ./nginx/nginx.conf:/etc/nginx/nginx.conf</span>
      <span style="color:#75715e"># - ./nginx/conf.d:/etc/nginx/conf.d</span>
      <span style="color:#75715e"># 证书目录</span>
      <span style="color:#75715e"># ./nginx/ssl:/ssl</span>
      <span style="color:#75715e"># 数据卷挂载到容器</span>
      - ./front:/front
      - ./back:/back
    <span style="color:#75715e"># 日志</span>
    logging:
      <span style="color:#66d9ef">driver</span>: json-file
      options:
        <span style="color:#66d9ef">max-size</span>: <span style="color:#e6db74">&#34;10M&#34;</span>
        <span style="color:#66d9ef">max-file</span>: <span style="color:#e6db74">&#34;10&#34;</span>
    <span style="color:#75715e"># 容器发生意外时，能自动重启</span>
    <span style="color:#66d9ef">restart</span>: always
</code></pre></div><h3 id="nginx-配置参考">nginx 配置参考<a href="#nginx-配置参考" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h3>
<h2 id="1nginxconf">1、nginx.conf<a href="#1nginxconf" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h2>
<blockquote>
<p>client_max_body_size 需要配置一下，否则上传大文件会失败</p>
</blockquote>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">user</span>  <span style="color:#a6e22e">nginx</span>;
<span style="color:#a6e22e">worker_processes</span>  <span style="color:#a6e22e">auto</span>;

<span style="color:#a6e22e">error_log</span>  <span style="color:#f92672">/</span><span style="color:#66d9ef">var</span><span style="color:#f92672">/</span><span style="color:#a6e22e">log</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#66d9ef">error</span>.<span style="color:#a6e22e">log</span> <span style="color:#a6e22e">notice</span>;
<span style="color:#a6e22e">pid</span>        <span style="color:#f92672">/</span><span style="color:#66d9ef">var</span><span style="color:#f92672">/</span><span style="color:#a6e22e">run</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span>.<span style="color:#a6e22e">pid</span>;


<span style="color:#a6e22e">events</span> {
    <span style="color:#a6e22e">worker_connections</span>  <span style="color:#ae81ff">1024</span>;
}


<span style="color:#a6e22e">http</span> {
    <span style="color:#a6e22e">include</span>       <span style="color:#f92672">/</span><span style="color:#a6e22e">etc</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#a6e22e">mime</span>.<span style="color:#a6e22e">types</span>;
    <span style="color:#a6e22e">default_type</span>  <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">octet</span><span style="color:#f92672">-</span><span style="color:#a6e22e">stream</span>;

    <span style="color:#a6e22e">log_format</span>  <span style="color:#a6e22e">main</span>  <span style="color:#960050;background-color:#1e0010">&#39;$</span><span style="color:#a6e22e">remote_addr</span> <span style="color:#f92672">-</span> <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">remote_user</span> [<span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">time_local</span>] <span style="color:#e6db74">&#34;$request&#34;</span> <span style="color:#960050;background-color:#1e0010">&#39;</span>
                      <span style="color:#960050;background-color:#1e0010">&#39;$</span><span style="color:#a6e22e">status</span> <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">body_bytes_sent</span> <span style="color:#e6db74">&#34;$http_referer&#34;</span> <span style="color:#960050;background-color:#1e0010">&#39;</span>
                      <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#e6db74">&#34;$http_user_agent&#34;</span> <span style="color:#e6db74">&#34;$http_x_forwarded_for&#34;</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;

    <span style="color:#a6e22e">access_log</span>  <span style="color:#f92672">/</span><span style="color:#66d9ef">var</span><span style="color:#f92672">/</span><span style="color:#a6e22e">log</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#a6e22e">access</span>.<span style="color:#a6e22e">log</span>  <span style="color:#a6e22e">main</span>;

    <span style="color:#a6e22e">sendfile</span>        <span style="color:#a6e22e">on</span>;
    <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">tcp_nopush</span>     <span style="color:#a6e22e">on</span>;

    <span style="color:#a6e22e">keepalive_timeout</span>  <span style="color:#ae81ff">65</span>;

    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">开启gzip</span>
    <span style="color:#a6e22e">gzip</span> <span style="color:#a6e22e">on</span>;

    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">启用gzip压缩的最小文件</span><span style="color:#960050;background-color:#1e0010">；</span><span style="color:#a6e22e">小于设置值的文件将不会被压缩</span>
    <span style="color:#a6e22e">gzip_min_length</span> <span style="color:#ae81ff">1</span><span style="color:#a6e22e">k</span>;

    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">gzip</span> <span style="color:#a6e22e">压缩级别</span> <span style="color:#ae81ff">1</span><span style="color:#f92672">-</span><span style="color:#ae81ff">9</span>
    <span style="color:#a6e22e">gzip_comp_level</span> <span style="color:#ae81ff">2</span>;

    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">进行压缩的文件类型</span><span style="color:#960050;background-color:#1e0010">。</span>
    <span style="color:#a6e22e">gzip_types</span> <span style="color:#a6e22e">text</span><span style="color:#f92672">/</span><span style="color:#a6e22e">plain</span> <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">javascript</span> <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">x</span><span style="color:#f92672">-</span><span style="color:#a6e22e">javascript</span> <span style="color:#a6e22e">text</span><span style="color:#f92672">/</span><span style="color:#a6e22e">css</span> <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">xml</span> <span style="color:#a6e22e">text</span><span style="color:#f92672">/</span><span style="color:#a6e22e">javascript</span> <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">x</span><span style="color:#f92672">-</span><span style="color:#a6e22e">httpd</span><span style="color:#f92672">-</span><span style="color:#a6e22e">php</span> <span style="color:#a6e22e">image</span><span style="color:#f92672">/</span><span style="color:#a6e22e">jpeg</span> <span style="color:#a6e22e">image</span><span style="color:#f92672">/</span><span style="color:#a6e22e">gif</span> <span style="color:#a6e22e">image</span><span style="color:#f92672">/</span><span style="color:#a6e22e">png</span>;

    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">是否在http</span> <span style="color:#a6e22e">header中添加Vary</span>: <span style="color:#a6e22e">Accept</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Encoding</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">建议开启</span>
    <span style="color:#a6e22e">gzip_vary</span> <span style="color:#a6e22e">on</span>;
    
    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">这个最好配置一下</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">否则上传大文件会失败</span>
    <span style="color:#a6e22e">client_max_body_size</span> <span style="color:#ae81ff">100</span><span style="color:#a6e22e">m</span>;

    <span style="color:#a6e22e">include</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">etc</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#a6e22e">conf</span>.<span style="color:#a6e22e">d</span><span style="color:#f92672">/*</span>.<span style="color:#a6e22e">conf</span>;
}
</code></pre></div><h3 id="vhost配置">vhost配置<a href="#vhost配置" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h3>
<h4 id="农场示例">农场，示例<a href="#农场示例" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">host主机</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">可以多个</span>
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">host1</span> <span style="color:#a6e22e">host2</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">farm</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">front</span><span style="color:#f92672">/</span><span style="color:#a6e22e">farm</span>;
  <span style="color:#a6e22e">index</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">html</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">htm</span>;
}
</code></pre></div><h4 id="农场大数据示例">农场大数据，示例<a href="#农场大数据示例" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">admin</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">front</span><span style="color:#f92672">/</span><span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">admin</span>;
  <span style="color:#a6e22e">index</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">html</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">htm</span>;
}
</code></pre></div><h4 id="农场销售页面示例">农场销售页面，示例<a href="#农场销售页面示例" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">host主机</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">可以多个</span>
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">host1</span> <span style="color:#a6e22e">host2</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">sales</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">front</span><span style="color:#f92672">/</span><span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">sales</span>;
  <span style="color:#a6e22e">index</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">html</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">htm</span>;
}
</code></pre></div><h4 id="农场溯源示例">农场溯源，示例<a href="#农场溯源示例" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">host主机</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">可以多个</span>
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">host1</span> <span style="color:#a6e22e">host2</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">source</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">front</span><span style="color:#f92672">/</span><span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">source</span>;
  <span style="color:#a6e22e">index</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">html</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">htm</span>;
}
</code></pre></div><h4 id="php">php<a href="#php" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">farm</span><span style="color:#f92672">-</span><span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">back</span><span style="color:#f92672">/</span><span style="color:#a6e22e">public</span>;
  <span style="color:#a6e22e">index</span> <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">php</span>;
  <span style="color:#a6e22e">location</span> <span style="color:#f92672">/</span> {
    <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">下面三行是为了支持跨域</span>
    <span style="color:#a6e22e">add_header</span> <span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Origin</span> <span style="color:#f92672">*</span>;
    <span style="color:#a6e22e">add_header</span> <span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Headers</span> <span style="color:#a6e22e">X</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Requested</span><span style="color:#f92672">-</span><span style="color:#a6e22e">With</span>;
    <span style="color:#a6e22e">add_header</span> <span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Methods</span> <span style="color:#a6e22e">GET</span>,<span style="color:#a6e22e">POST</span>,<span style="color:#a6e22e">OPTIONS</span>;
    <span style="color:#66d9ef">if</span> (!<span style="color:#f92672">-</span><span style="color:#a6e22e">e</span> <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">request_filename</span>){
       <span style="color:#a6e22e">rewrite</span>  ^(.<span style="color:#f92672">*</span>)<span style="color:#960050;background-color:#1e0010">$</span>  <span style="color:#f92672">/</span><span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">php</span><span style="color:#f92672">/</span><span style="color:#960050;background-color:#1e0010">$</span><span style="color:#ae81ff">1</span>  <span style="color:#a6e22e">last</span>;
       <span style="color:#66d9ef">break</span>;
    }
  }
  <span style="color:#a6e22e">location</span> <span style="color:#960050;background-color:#1e0010">~</span> <span style="color:#960050;background-color:#1e0010">\</span>.<span style="color:#a6e22e">php</span>(.<span style="color:#f92672">*</span>)<span style="color:#960050;background-color:#1e0010">$</span> {
    <span style="color:#a6e22e">fastcgi_pass</span>   <span style="color:#a6e22e">php</span>:<span style="color:#ae81ff">9000</span>;
    <span style="color:#a6e22e">fastcgi_index</span>  <span style="color:#a6e22e">index</span>.<span style="color:#a6e22e">php</span>;
    <span style="color:#a6e22e">fastcgi_split_path_info</span>  ^((<span style="color:#960050;background-color:#1e0010">?</span><span style="color:#a6e22e">U</span>).<span style="color:#f92672">+</span><span style="color:#960050;background-color:#1e0010">\</span>.<span style="color:#a6e22e">php</span>)(<span style="color:#f92672">/</span><span style="color:#960050;background-color:#1e0010">?</span>.<span style="color:#f92672">+</span>)<span style="color:#960050;background-color:#1e0010">$</span>;
    <span style="color:#a6e22e">fastcgi_param</span>  <span style="color:#a6e22e">SCRIPT_FILENAME</span>   <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">document_root</span><span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">fastcgi_script_name</span>;
    <span style="color:#a6e22e">fastcgi_param</span>  <span style="color:#a6e22e">PATH_INFO</span>  <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">fastcgi_path_info</span>;
    <span style="color:#a6e22e">include</span>        <span style="color:#a6e22e">fastcgi_params</span>;
  }
}
</code></pre></div><h4 id="hls直播">hls直播<a href="#hls直播" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">80</span>;
  <span style="color:#a6e22e">server_name</span> <span style="color:#a6e22e">live</span>.<span style="color:#a6e22e">xxx</span>.<span style="color:#a6e22e">com</span>;
  <span style="color:#a6e22e">root</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">srs</span><span style="color:#f92672">/</span><span style="color:#a6e22e">hls</span>;
  <span style="color:#a6e22e">location</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">live</span> {  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">新摄像头服务</span>(<span style="color:#a6e22e">dev</span>) <span style="color:#a6e22e">HLS</span>
      <span style="color:#a6e22e">types</span> {
          <span style="color:#a6e22e">application</span><span style="color:#f92672">/</span><span style="color:#a6e22e">vnd</span>.<span style="color:#a6e22e">apple</span>.<span style="color:#a6e22e">mpegurl</span> <span style="color:#a6e22e">m3u8</span>;
          <span style="color:#a6e22e">video</span><span style="color:#f92672">/</span><span style="color:#a6e22e">mp2t</span> <span style="color:#a6e22e">ts</span>;
      }
      <span style="color:#a6e22e">add_header</span> <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Origin</span><span style="color:#e6db74">&#39; &#39;</span><span style="color:#f92672">*</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;
      <span style="color:#a6e22e">add_header</span> <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Credentials</span><span style="color:#e6db74">&#39; &#39;</span><span style="color:#66d9ef">true</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;
      <span style="color:#a6e22e">add_header</span> <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Methods</span><span style="color:#e6db74">&#39; &#39;</span><span style="color:#a6e22e">GET</span>, <span style="color:#a6e22e">POST</span>, <span style="color:#a6e22e">OPTIONS</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;
      <span style="color:#a6e22e">add_header</span> <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#a6e22e">Access</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Allow</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Headers</span><span style="color:#e6db74">&#39; &#39;</span><span style="color:#f92672">*</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;
      <span style="color:#a6e22e">add_header</span> <span style="color:#960050;background-color:#1e0010">&#39;</span><span style="color:#a6e22e">Cache</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Control</span><span style="color:#e6db74">&#39; &#39;</span><span style="color:#a6e22e">no</span><span style="color:#f92672">-</span><span style="color:#a6e22e">cache</span><span style="color:#960050;background-color:#1e0010">&#39;</span>;
  }
}
</code></pre></div><h4 id="https配置支持">https配置支持<a href="#https配置支持" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#a6e22e">server</span> {
  <span style="color:#a6e22e">listen</span> <span style="color:#ae81ff">443</span> <span style="color:#a6e22e">ssl</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">注意这里的路径ssl为容器nginx的路径</span>
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">使用前</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">注意在docker</span><span style="color:#f92672">-</span><span style="color:#a6e22e">compose中做数据卷映射</span>, <span style="color:#a6e22e">如</span><span style="color:#960050;background-color:#1e0010">：</span> .<span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#a6e22e">ssl</span>:<span style="color:#f92672">/</span><span style="color:#a6e22e">ssl</span>
  <span style="color:#a6e22e">ssl_certificate</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">ssl</span><span style="color:#f92672">/</span><span style="color:#a6e22e">fullchain</span>.<span style="color:#a6e22e">pem</span>;
  <span style="color:#a6e22e">ssl_certificate_key</span> <span style="color:#f92672">/</span><span style="color:#a6e22e">ssl</span><span style="color:#f92672">/</span><span style="color:#a6e22e">key</span>.<span style="color:#a6e22e">pem</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">OCSP</span> <span style="color:#a6e22e">Stapling</span> <span style="color:#a6e22e">开启</span><span style="color:#960050;background-color:#1e0010">。</span><span style="color:#a6e22e">OCSP是用于在线查询证书吊销情况的服务</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">使用OCSP</span> <span style="color:#a6e22e">Stapling能将证书有效状态的信息缓存到服</span> <span style="color:#a6e22e">务器</span><span style="color:#960050;background-color:#1e0010">，</span><span style="color:#a6e22e">提高</span> <span style="color:#a6e22e">TLS</span> <span style="color:#a6e22e">握手速度</span>
  <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">ssl_stapling</span> <span style="color:#a6e22e">on</span>;
  <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">ssl_stapling_verify</span> <span style="color:#a6e22e">on</span>;
  <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">ssl_trusted_certificate</span>  <span style="color:#f92672">/</span><span style="color:#a6e22e">etc</span><span style="color:#f92672">/</span><span style="color:#a6e22e">nginx</span><span style="color:#f92672">/</span><span style="color:#a6e22e">ssl</span><span style="color:#f92672">/*</span>.<span style="color:#a6e22e">dev</span>.<span style="color:#a6e22e">nongbotech</span>.<span style="color:#a6e22e">cn</span><span style="color:#f92672">/</span><span style="color:#a6e22e">fullchain</span>.<span style="color:#a6e22e">pem</span>;
  <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">resolver</span> <span style="color:#ae81ff">8.8.8.8</span> <span style="color:#ae81ff">8.8.4.4</span> <span style="color:#ae81ff">1.1.1.1</span> <span style="color:#a6e22e">valid</span>=<span style="color:#ae81ff">60</span><span style="color:#a6e22e">s</span>;
  <span style="color:#960050;background-color:#1e0010">#</span><span style="color:#a6e22e">resolver_timeout</span> <span style="color:#ae81ff">20</span><span style="color:#a6e22e">s</span>;
  <span style="color:#960050;background-color:#1e0010">#</span> <span style="color:#a6e22e">http请求重定向到https</span>
  <span style="color:#a6e22e">location</span> <span style="color:#f92672">/</span> {
    <span style="color:#66d9ef">if</span> (<span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">ssl_protocol</span> = <span style="color:#e6db74">&#34;&#34;</span>) {<span style="color:#66d9ef">return</span> <span style="color:#ae81ff">301</span> <span style="color:#a6e22e">https</span>:<span style="color:#75715e">//$host$request_uri;}
</span><span style="color:#75715e"></span>  }
}
</code></pre></div><h4 id="反向代理设置代理头">反向代理，设置代理头<a href="#反向代理设置代理头" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h4>
<p>使后端可以获取真实的host地址及ip</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go">    <span style="color:#a6e22e">proxy_set_header</span>   <span style="color:#a6e22e">Host</span>             <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">host</span>;
    <span style="color:#a6e22e">proxy_set_header</span>   <span style="color:#a6e22e">X</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Real</span><span style="color:#f92672">-</span><span style="color:#a6e22e">IP</span>        <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">remote_addr</span>;
    <span style="color:#a6e22e">proxy_set_header</span>   <span style="color:#a6e22e">X</span><span style="color:#f92672">-</span><span style="color:#a6e22e">Forwarded</span><span style="color:#f92672">-</span><span style="color:#a6e22e">For</span>  <span style="color:#960050;background-color:#1e0010">$</span><span style="color:#a6e22e">proxy_add_x_forwarded_for</span>;
</code></pre></div><h1 id="证书生成">证书生成<a href="#证书生成" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h1>
<p>这里采用免费证书生成工具acme</p>
<h5 id="一安装acme">一、安装acme<a href="#一安装acme" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">curl https://get.acme.sh | sh -s email<span style="color:#f92672">=</span>my@example.com
</code></pre></div><h5 id="二设置别名">二、设置别名<a href="#二设置别名" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">acme.sh<span style="color:#f92672">=</span>~/.acme.sh/acme.sh.
</code></pre></div><h5 id="三设置自动升级">三、设置自动升级<a href="#三设置自动升级" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">acme.sh --upgrade --auto-upgrade
</code></pre></div><h5 id="四证书签发">四、证书签发<a href="#四证书签发" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># 证书安装</span>
acme.sh --issue -d example.com -w /home/wwwroot/example.com
<span style="color:#75715e"># 安装证书到nginx</span>
acme.sh --install-cert -d example.com <span style="color:#ae81ff">\</span>
--key-file       /data/www/nginx/ssl/example.com/key.pem  <span style="color:#ae81ff">\</span>
--fullchain-file /data/www/nginx/ssl/example.com/cert.pem <span style="color:#ae81ff">\</span>
--reloadcmd     <span style="color:#e6db74">&#34;docker restart nginx&#34;</span>
</code></pre></div><blockquote>
<p>首次安装证书时，需要先屏蔽ssl及证书路径配置，等生成成功后在加上这些配置</p>
</blockquote>

		</div>
	</main>

	<footer id="site-footer" class="section-inner thin animated fadeIn faster">
		<p>&copy; 2024 <a href="https://www.lican.site"></a></p>
		<p>
			Made with <a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a> &#183; Theme <a href="https://github.com/Track3/hermit" target="_blank" rel="noopener">Hermit</a> &#183; <a href="https://www.lican.site/post/index.xml" target="_blank" title="rss"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-rss"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg></a>
		</p>
	</footer>


	<script src="https://www.lican.site/js/main.min.784417f5847151f848c339cf0acb13a06cbb648b1483435a28ed4556c4ead69b.js"></script>

</body>

</html>
